difference between encapsulation and abstraction in java in tabular form